package com.yy.cloud.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 注意这个RibbonIRuleConfig配置没有被springboot的包扫描到，需要在启动类上进行配置：
 * @RibbonClients(value = { // 开启ribbon的负载均衡，采用RibbonIRuleConfig.class这个类中声明的策略
 *         @RibbonClient(name = "stock-service", configuration = RibbonIRuleConfig.class)
 * })
 *
 * @date 2024/5/06
 */
@Configuration
public class RibbonIRuleConfig {

    // 配置一个随机的负载均衡策略，替代默认的轮询策略，方法名必须为iRule
    @Bean
    public IRule iRule() {
        return new RandomRule();
    }
}
